//flight class declaration
#ifndef FLIGHT_H_
#define FLIGHT_H_

#include <ctime>
#include <string>
#include <vector>
using std::string;
using std::vector;

class flight
{
	public:
		flight(); //default constructor
		flight(int,time_t,time_t,string,string,bool,vector<vector<bool> >); //constructor
		~flight(); //destructor
		int getFlightNumber() const;
		time_t getDepartureTime() const;
		void setDepartureTime(time_t);
		time_t getArrivalTime() const;
		void setArrivalTime(time_t);
		string getDepartureCity() const;
		string getArrivalCity() const;
		void setDepartureCity(string);
		void setArrivalCity(string);
		vector<vector<bool> > getSeatingPlan() const;
		bool seatsAvailable();
		string getSeat();
		int freeSeat(string);
		bool is_Cancelled() const;
		void cancel();

	private:
		int flightNumber;
		time_t departureTime;
		time_t arrivalTime;
		string departureCity;
		string arrivalCity;
		bool isCancelled;
		vector<vector<bool> > seatingPlan; // 20x4 matrix
};

#endif
